package org.easydev.wechat.client.result.user;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * 获取用户基本信息（包括UnionID机制）
 */
public class WechatUser {

    /**
     * 用户是否订阅
     */
    private Integer subscribe;

    /**
     * 用户的标识
     */
    private String openid;

    /**
     * 用户的昵称
     */
    private String nickname;

    /**
     * 用户的性别，值为1时是男性，值为2时是女性，值为0时是未知
     */
    private String sex;

    /**
     * 用户所在城市
     */
    private String city;

    /**
     * 用户所在国家
     */
    private String country;

    /**
     * 用户所在省份
     */
    private String province;

    /**
     * 用户的语言，简体中文为zh_CN
     */
    private String language;

    /**
     * 用户头像<br>
     * 用户头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），<br>
     * 用户没有头像时该项为空。若用户更换头像，原有头像URL将失效。<br>
     */
    private String headimgurl;

    /**
     * 用户关注时间，为时间戳。如果用户曾多次关注，则取最后关注时间
     */
    @JSONField(name = "subscribe_time")
    private String subscribeTime;

    /**
     * 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段。
     */
    private String unionid;

    /**
     * 公众号运营者对粉丝的备注，公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
     */
    private String remark;

    /**
     * 用户所在的分组ID
     */
    private String groupid;

    /**
     * get subscribe
     * 
     * @return Returns the subscribe.<br>
     */
    public Integer getSubscribe() {
        return subscribe;
    }

    /**
     * set subscribe
     * 
     * @param subscribe The subscribe to set. <br>
     */
    public void setSubscribe(Integer subscribe) {
        this.subscribe = subscribe;
    }

    /**
     * get openid
     * 
     * @return Returns the openid.<br>
     */
    public String getOpenid() {
        return openid;
    }

    /**
     * set openid
     * 
     * @param openid The openid to set. <br>
     */
    public void setOpenid(String openid) {
        this.openid = openid;
    }

    /**
     * get nickname
     * 
     * @return Returns the nickname.<br>
     */
    public String getNickname() {
        return nickname;
    }

    /**
     * set nickname
     * 
     * @param nickname The nickname to set. <br>
     */
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    /**
     * get sex
     * 
     * @return Returns the sex.<br>
     */
    public String getSex() {
        return sex;
    }

    /**
     * set sex
     * 
     * @param sex The sex to set. <br>
     */
    public void setSex(String sex) {
        this.sex = sex;
    }

    /**
     * get city
     * 
     * @return Returns the city.<br>
     */
    public String getCity() {
        return city;
    }

    /**
     * set city
     * 
     * @param city The city to set. <br>
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * get country
     * 
     * @return Returns the country.<br>
     */
    public String getCountry() {
        return country;
    }

    /**
     * set country
     * 
     * @param country The country to set. <br>
     */
    public void setCountry(String country) {
        this.country = country;
    }

    /**
     * get province
     * 
     * @return Returns the province.<br>
     */
    public String getProvince() {
        return province;
    }

    /**
     * set province
     * 
     * @param province The province to set. <br>
     */
    public void setProvince(String province) {
        this.province = province;
    }

    /**
     * get language
     * 
     * @return Returns the language.<br>
     */
    public String getLanguage() {
        return language;
    }

    /**
     * set language
     * 
     * @param language The language to set. <br>
     */
    public void setLanguage(String language) {
        this.language = language;
    }

    /**
     * get headimgurl
     * 
     * @return Returns the headimgurl.<br>
     */
    public String getHeadimgurl() {
        return headimgurl;
    }

    /**
     * set headimgurl
     * 
     * @param headimgurl The headimgurl to set. <br>
     */
    public void setHeadimgurl(String headimgurl) {
        this.headimgurl = headimgurl;
    }

    /**
     * get subscribe_time
     * 
     * @return Returns the subscribe_time.<br>
     */
    public String getSubscribe_time() {
        return subscribeTime;
    }

    /**
     * set subscribe_time
     * 
     * @param subscribe_time The subscribe_time to set. <br>
     */
    public void setSubscribe_time(String subscribe_time) {
        this.subscribeTime = subscribe_time;
    }

    /**
     * get unionid
     * 
     * @return Returns the unionid.<br>
     */
    public String getUnionid() {
        return unionid;
    }

    /**
     * set unionid
     * 
     * @param unionid The unionid to set. <br>
     */
    public void setUnionid(String unionid) {
        this.unionid = unionid;
    }

    /**
     * get remark
     * 
     * @return Returns the remark.<br>
     */
    public String getRemark() {
        return remark;
    }

    /**
     * set remark
     * 
     * @param remark The remark to set. <br>
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * get groupid
     * 
     * @return Returns the groupid.<br>
     */
    public String getGroupid() {
        return groupid;
    }

    /**
     * set groupid
     * 
     * @param groupid The groupid to set. <br>
     */
    public void setGroupid(String groupid) {
        this.groupid = groupid;
    }

}
